package com.itheima.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @Description: 菜单实体类
 * @Date :2019-10-16 08:44
 * @Author : yuan_he_song
 */
@Data
@AllArgsConstructor
@Builder
@ToString
public class Menu implements Serializable {
    private Integer id;
    private String title;//菜单标题
    private Integer pid;//父菜单ID 一级菜单pid为0
    private List<Menu> children;
    private static final long serialVersionUID = 1L;

    public static List<Menu> getMenuList(){

        List<Menu> result = new ArrayList<>();
        // 第一个菜单以及子菜单
        Menu one = Menu.builder()
                .id(1).pid(0).title("系统设置")
                .build();
        result.add(one);
        Menu oneSone = Menu.builder()
                .id(2).pid(1).title("用户管理")
                .build();
        result.add(oneSone);
        Menu oneSone2 = Menu.builder()
                .id(3).pid(2).title("新增用户")
                .build();
        result.add(oneSone2);
        Menu oneSone1 = Menu.builder()
                .id(4).pid(1).title("日志查看")
                .build();
        result.add(oneSone1);

        // 第二个菜单以及子菜单
        Menu two = Menu.builder()
                .id(5).pid(0).title("绿城小区")
                .build(); // 顶级父菜单
        result.add(two);
        Menu two1 = Menu.builder()
                .id(6).pid(5).title("第一幢")
                .build();
        result.add(two1);
        Menu two2 = Menu.builder()
                .id(7).pid(5).title("第二幢")
                .build();
        result.add(two2);
        Menu two3 = Menu.builder()
                .id(8).pid(5).title("第三幢")
                .build();
        result.add(two3);
        Menu two4 = Menu.builder()
                .id(9).pid(8).title("第三幢/一单元")
                .build();
        result.add(two4);
        Menu two6 = Menu.builder()
                .id(10).pid(8).title("第三幢/二单元")
                .build();
        result.add(two6);

        return result;
    }

}

